+2007-06-22 Mathias Hasselmann <mathias.hasselmann@gmx.de>
+
+ * configure.in, tests/Makefile.am, tests/autotestkeywords.cc,
+ tests/dummy-headers/*: Extend the C++ keyword test
+ to include internal GDK headers (#449016).
+
2007-06-26 Mathias Hasselmann <mathias.hasselmann@gmx.de>
* ChangeLog, configure.in, tests/Makefile.am,
AC_CHECK_PROGS(CXX, [$CCC c++ g++ gcc CC cxx cc++ cl], gcc)
AC_LANG_SAVE
AC_LANG_CPLUSPLUS
+
AC_TRY_COMPILE(,[class a { int b; } c;], ,CXX=)
AM_CONDITIONAL(HAVE_CXX, test "$CXX" != "")
+
+gtk_save_cxxflags="$CXXFLAGS"
+CXXFLAGS="$CXXFLAGS -x objective-c++"
+AC_TRY_COMPILE([@interface Foo @end],,OBJC=yes,OBJC=no)
+AM_CONDITIONAL(HAVE_OBJC, test "$OBJC" == "yes")
+CXXFLAGS="$gtk_save_cxxflags"
AC_LANG_RESTORE
if test "$os_win32" = "yes"; then
TESTS = floatingtest buildertest
-if HAVE_CXX
-TESTS += autotestkeywords
-endif
-
noinst_PROGRAMS = \
autotestfilechooser \
autotestkeywords \
testtooltips \
testvolumebutton
+if HAVE_CXX
+noinst_PROGRAMS += autotestkeywords
+TESTS += autotestkeywords
+
autotestkeywords_SOURCES = autotestkeywords.cc
+autotestkeywords_CPPFLAGS = -I$(srcdir)/dummy-headers
+
+if HAVE_OBJC
+autotestkeywords_CPPFLAGS += -DHAVE_OBJC=1
+autotestkeywords_CXXFLAGS = -x objective-c++
+endif
+
+endif
autotestfilechooser_DEPENDENCIES = $(TEST_DEPS)
simple_DEPENDENCIES = $(TEST_DEPS)
#include <gtk/gtk.h>
+
+#define gdk_display gdk_display_directfb
+#include <gdk/directfb/gdkdirectfb.h>
+#undef gdk_display
+#undef GDK_DISPLAY
+#undef GDK_ROOT_WINDOW
+
+#define gdk_display gdk_display_linuxfb
+#include <gdk/linux-fb/gdkfb.h>
+#undef gdk_display
+#undef GDK_DISPLAY
+#undef GDK_ROOT_WINDOW
+
+#if HAVE_OBJC
+#define gdk_display gdk_display_quartz
+#include <gdk/quartz/gdkquartz.h>
+#undef gdk_display
+#undef GDK_DISPLAY
+#undef GDK_ROOT_WINDOW
+#endif
+
+#define gdk_display gdk_display_win32
+#include <gdk/win32/gdkwin32.h>
+#undef gdk_display
+#undef GDK_DISPLAY
+#undef GDK_ROOT_WINDOW
+
+#define gdk_display gdk_display_x11
+#include <gdk/x11/gdkx.h>
+#undef gdk_display
+#undef GDK_DISPLAY
+#undef GDK_ROOT_WINDOW
+
int main() { return 0; }
--- /dev/null
+/* Dummy header for the Quartz backend. */
+
+typedef int NSTrackingRectTag;
+
+@interface NSAutoreleasePool {}
+@end
+
+@interface NSCursor {}
+@end
+
+@interface NSEvent {}
+@end
+
+@interface NSImage {}
+@end
+
+@interface NSView {}
+@end
+
+@interface NSWindow {}
+@end
+
+@protocol NSDraggingInfo
+@end
--- /dev/null
+/* Dummy header for the Quartz backend. */
+
+typedef bool BOOL;
+
+typedef void *CGContextRef;
+typedef void *CGImageRef;
+typedef void *CGPatternRef;
+
--- /dev/null
+/* Dummy header for the Xlib backend. */
+
+typedef unsigned long CARD32;
+
+typedef CARD32 XID;
+
+typedef XID Atom;
+typedef XID Colormap;
+typedef XID Cursor;
+typedef XID Window;
+typedef XID VisualID;
+
+typedef struct _Display Display;
+typedef struct _GC GC;
+typedef struct _Screen Screen;
+typedef struct _Visual Visual;
+typedef struct _XImage XImage;
--- /dev/null
+/* Dummy header for the Xlib backend. */
--- /dev/null
+/* Dummy header for the Win32 backend. */
--- /dev/null
+/* Dummy header for the DirectFB backend. */
+
+typedef int DFBColor;
+typedef int DFBSurfaceCapabilities;
+typedef int DFBSurfacePixelFormat;
+typedef int DFBWindowCapabilities;
+typedef int DFBWindowOptions;
+
+typedef struct IDirectFBWindow IDirectFBWindow;
+typedef struct IDirectFBSurface IDirectFBSurface;
--- /dev/null
+/* Dummy header for the Linux framebuffer backend. */
--- /dev/null
+/* Dummy header for the Linux framebuffer backend. */
--- /dev/null
+/* Dummy header for the Win32 backend. */
+
+typedef void *HDC;
+typedef void *HGDIOBJ;
+typedef void *HICON;
+typedef void *HWND;